package main

import (
	"fmt"
	// "math"
	// "strconv"
)

// func max(num1, num2 int) int {
// 	var res int
// 	if num1 > num2 {
// 		res = num1
// 	} else {
// 		res = num2
// 	}
// 	return res
// }

// func swap(x, y *int) {
// 	var tmp int
// 	tmp = *x
// 	*x = *y 
// 	*y = tmp
// }

// func getSequence() func() int {
// 	i := 0
// 	return func() int {
// 		i += 1
// 		return i
// 	}	
// }

// type Books struct {
// 	title string
// 	author string
// 	subject string
// 	book_id int
// }

// func printBook(book Books) {
// 	fmt.Printf("Book title : %s\n", book.title)
// 	fmt.Printf("Book author : %s\n", book.author)
// 	fmt.Printf("Book subject : %s\n", book.subject)
// 	fmt.Printf("Book book_id : %d\n", book.book_id)
// }

// func printSlice(arr []int) {
// 	fmt.Printf("len=%d cap=%d slice=%v\n",len(arr),cap(arr),arr)
// }

func main() {
	// var a int = 1
	// if a > 1 {
	// 	fmt.Println("a > 1")
	// } else {
	// 	fmt.Println("a <= 1")
	// }

	// sum := 0
	// for i := 0; i < 10; i++ {
	// 	sum += i
	// }
	// fmt.Println(sum)

	// strings := []string{"a", "b", "c"}
	// for i, s := range strings {
	// 	fmt.Println(i, s)
	// }

	// numbers := [6]int{1, 2, 3, 4, 5} 
	// for i, x := range numbers {
	// 	fmt.Println(i, x)
	// }

	// var a int = 100
	// var b int = 200
	// res := max(a, b);
	// fmt.Println(res);

	// a := 1
	// b := 2
	// fmt.Println(a, b)
	// swap(&a, &b)
	// fmt.Println(a, b)

	// getSquareNum := func(x float64) float64 {
	// 	return math.Sqrt(x)
	// }
	// fmt.Println(getSquareNum(9))

	// res := getSequence()
	// fmt.Println(res())
	// fmt.Println(res())
	// fmt.Println(res())

	// add := func(x, y int) int {
	// 	return x + y
	// }
	// fmt.Println(add(1, 2))

	// var n [10]int
	// var i int
	// for i = 0; i < 10; i++ {
	// 	n[i] = i + 100
	// 	fmt.Println(n[i])
	// }

	// nums := [5]float64{1.1, 1.2, 1.3, 1.4, 1.5}
	// for i := 0; i < 5; i++ {
	// 	nums[i] += 0.1
	// 	fmt.Printf("%.1f\n", nums[i])
	// } 

	// mixnums := [...]interface{}{1, "abc", 4.24, true, [3]int{1, 2, 3}}
	// for i:= 0; i < len(mixnums); i++ {
	// 	fmt.Println(mixnums[i])
	// }

	// numstrings := [][]string{}
	// row1 := []string{"1", "2", "3"}
	// row2 := []string{"4"}
	// row3 := []string{"5", "6"}
	// numstrings = append(numstrings, row1)
	// numstrings = append(numstrings, row2)
	// numstrings = append(numstrings, row3)
	// for i := range numstrings{
	// 	for j := 0; j < len(numstrings[i]); j++ {
	// 		fmt.Println(numstrings[i][j])
	// 	}
	// }

	// var book Books
	// book.title = "Go语言"
	// book.author = "曾彤飞"
	// book.subject = "Go结构体"
	// book.book_id = 134124
	// printBook(book)

	// var nums = make([]int, 3, 5)
	// printSlice(nums)

	// arr := [4]int{1, 2, 3, 4}
	// slice := arr[1:3]
	// printSlice(slice)

	// var numbers []int
	// printSlice(numbers)
	// numbers = append(numbers, 0)
	// printSlice(numbers)
	// numbers = append(numbers, 2,3,4)
	// printSlice(numbers)
	// numbers_copy := make([]int, len(numbers), cap(numbers) * 2)
	// copy(numbers_copy, numbers)
	// printSlice(numbers_copy)

	// map1 := make(map[int]float32) 
	// map1[1] = 1.0
	// map1[2] = 2.0
	// map1[3] = 3.0
	// map1[4] = 4.0
	// for key, value := range map1 {
	// 	fmt.Printf("key: %d, value: %.1f\n", key, value)
	// }

	// str := "123"
	// num, err := strconv.Atoi(str)
	// if err != nil {
	// 	fmt.Println("转换错误:", err)
	// } else {
	// 	fmt.Printf("字符串 '%s' 转换为整数为：%d\n", str, num)
	// }

	// num := 123
	// str := strconv.Itoa(num)
	// fmt.Printf("整数 %d 转换为字符串为：'%s'\n", num, str)

	// str := "3.14"
	// num, err := strconv.ParseFloat(str, 64) 
	// if (err != nil) {
	// 	fmt.Println("转换错误:", err)
	// } else {
    //     fmt.Printf("字符串 '%s' 转为浮点型为：%f\n", str, num)
    // }

	// num := 3.14
	// str := strconv.FormatFloat(num, 'f', 2, 64)
	// fmt.Printf("浮点数 %f 转为字符串为：'%s'\n", num, str)

	// var i interface{} = "Hello World"
	// str, ok := i.(string)
	// if ok {
	// 	fmt.Printf("'%s' is a string\n", str)
	// } else {
    //     fmt.Println("conversion failed")
    // }
} 